白葡萄酒的探索

========================================================

本报告探讨了一个包含大约4898瓶白葡萄酒的质量评分和属性的数据集。

P. Cortez, A. Cerdeira, F. Almeida, T. Matos and J. Reis. Modeling wine preferences by data mining from physicochemical properties. In Decision Support Systems, Elsevier, 47(4):547-553. ISSN: 0167-9236.

Available at: [@Elsevier] http://dx.doi.org/10.1016/j.dss.2009.05.016 [Pre-press (pdf)] http://www3.dsi.uminho.pt/pcortez/winequality09.pdf [bib] http://www3.dsi.uminho.pt/pcortez/dss09.bib

单变量绘图选择

## [1] 4898   13
## 'data.frame':    4898 obs. of  13 variables:
##  $ X                   : int  1 2 3 4 5 6 7 8 9 10 ...
##  $ fixed.acidity       : num  7 6.3 8.1 7.2 7.2 8.1 6.2 7 6.3 8.1 ...
##  $ volatile.acidity    : num  0.27 0.3 0.28 0.23 0.23 0.28 0.32 0.27 0.3 0.22 ...
##  $ citric.acid         : num  0.36 0.34 0.4 0.32 0.32 0.4 0.16 0.36 0.34 0.43 ...
##  $ residual.sugar      : num  20.7 1.6 6.9 8.5 8.5 6.9 7 20.7 1.6 1.5 ...
##  $ chlorides           : num  0.045 0.049 0.05 0.058 0.058 0.05 0.045 0.045 0.049 0.044 ...
##  $ free.sulfur.dioxide : num  45 14 30 47 47 30 30 45 14 28 ...
##  $ total.sulfur.dioxide: num  170 132 97 186 186 97 136 170 132 129 ...
##  $ density             : num  1.001 0.994 0.995 0.996 0.996 ...
##  $ pH                  : num  3 3.3 3.26 3.19 3.19 3.26 3.18 3 3.3 3.22 ...
##  $ sulphates           : num  0.45 0.49 0.44 0.4 0.4 0.44 0.47 0.45 0.49 0.45 ...
##  $ alcohol             : num  8.8 9.5 10.1 9.9 9.9 10.1 9.6 8.8 9.5 11 ...
##  $ quality             : int  6 6 6 6 6 6 6 6 6 6 ...
##        X        fixed.acidity    volatile.acidity  citric.acid    
##  Min.   :   1   Min.   : 3.800   Min.   :0.0800   Min.   :0.0000  
##  1st Qu.:1225   1st Qu.: 6.300   1st Qu.:0.2100   1st Qu.:0.2700  
##  Median :2450   Median : 6.800   Median :0.2600   Median :0.3200  
##  Mean   :2450   Mean   : 6.855   Mean   :0.2782   Mean   :0.3342  
##  3rd Qu.:3674   3rd Qu.: 7.300   3rd Qu.:0.3200   3rd Qu.:0.3900  
##  Max.   :4898   Max.   :14.200   Max.   :1.1000   Max.   :1.6600  
##  residual.sugar     chlorides       free.sulfur.dioxide
##  Min.   : 0.600   Min.   :0.00900   Min.   :  2.00     
##  1st Qu.: 1.700   1st Qu.:0.03600   1st Qu.: 23.00     
##  Median : 5.200   Median :0.04300   Median : 34.00     
##  Mean   : 6.391   Mean   :0.04577   Mean   : 35.31     
##  3rd Qu.: 9.900   3rd Qu.:0.05000   3rd Qu.: 46.00     
##  Max.   :65.800   Max.   :0.34600   Max.   :289.00     
##  total.sulfur.dioxide    density             pH          sulphates     
##  Min.   :  9.0        Min.   :0.9871   Min.   :2.720   Min.   :0.2200  
##  1st Qu.:108.0        1st Qu.:0.9917   1st Qu.:3.090   1st Qu.:0.4100  
##  Median :134.0        Median :0.9937   Median :3.180   Median :0.4700  
##  Mean   :138.4        Mean   :0.9940   Mean   :3.188   Mean   :0.4898  
##  3rd Qu.:167.0        3rd Qu.:0.9961   3rd Qu.:3.280   3rd Qu.:0.5500  
##  Max.   :440.0        Max.   :1.0390   Max.   :3.820   Max.   :1.0800  
##     alcohol         quality     
##  Min.   : 8.00   Min.   :3.000  
##  1st Qu.: 9.50   1st Qu.:5.000  
##  Median :10.40   Median :6.000  
##  Mean   :10.51   Mean   :5.878  
##  3rd Qu.:11.40   3rd Qu.:6.000  
##  Max.   :14.20   Max.   :9.000
##   X fixed.acidity volatile.acidity citric.acid residual.sugar chlorides
## 1 1           7.0             0.27        0.36           20.7     0.045
## 2 2           6.3             0.30        0.34            1.6     0.049
## 3 3           8.1             0.28        0.40            6.9     0.050
## 4 4           7.2             0.23        0.32            8.5     0.058
## 5 5           7.2             0.23        0.32            8.5     0.058
## 6 6           8.1             0.28        0.40            6.9     0.050
##   free.sulfur.dioxide total.sulfur.dioxide density   pH sulphates alcohol
## 1                  45                  170  1.0010 3.00      0.45     8.8
## 2                  14                  132  0.9940 3.30      0.49     9.5
## 3                  30                   97  0.9951 3.26      0.44    10.1
## 4                  47                  186  0.9956 3.19      0.40     9.9
## 5                  47                  186  0.9956 3.19      0.40     9.9
## 6                  30                   97  0.9951 3.26      0.44    10.1
##   quality
## 1       6
## 2       6
## 3       6
## 4       6
## 5       6
## 6       6

该数据集包含了13个变量,4898行观察值。其中变量X与ID重复,将其删除。

##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   3.000   5.000   6.000   5.878   6.000   9.000
## 
##    3    4    5    6    7    8    9 
##   20  163 1457 2198  880  175    5

quality的分布很接近正态分布,峰值集中在6。共有3,4,5,6,7,8,9,7个评分等级。我想知道,是什么属性影响了白葡萄酒的质量评分。

##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   3.800   6.300   6.800   6.855   7.300  14.200
## 
##  3.8  3.9  4.2  4.4  4.5  4.6  4.7  4.8  4.9    5  5.1  5.2  5.3  5.4  5.5 
##    1    1    2    3    1    1    5    9    7   24   23   28   27   28   31 
##  5.6  5.7  5.8  5.9    6  6.1 6.15  6.2  6.3  6.4 6.45  6.5  6.6  6.7  6.8 
##   71   88  121  103  184  155    2  192  188  280    1  225  290  236  308 
##  6.9    7  7.1 7.15  7.2  7.3  7.4  7.5  7.6  7.7  7.8  7.9    8  8.1  8.2 
##  241  232  200    2  206  178  194  123  153   93   93   74   80   56   56 
##  8.3  8.4  8.5  8.6  8.7  8.8  8.9    9  9.1  9.2  9.3  9.4  9.5  9.6  9.7 
##   52   35   32   25   15   18   16   17    6   21    3   11    2    5    4 
##  9.8  9.9   10 10.2 10.3 10.7 11.8 14.2 
##    8    2    3    1    2    2    1    1

白葡萄酒的fixed.acidity(固定酸度)是葡萄酒酸度的一种,与保鲜度有关,影响口感的酸爽。 fixed.acidity分布呈钟型分布,右长尾,其最大值比中值和三分位数高得多。 中位数是6.8,平均值是6.855。 通过对fixed.acidity进行log10转换,得到一个正态分布。

volatile.acidity(挥发性酸度):葡萄酒中醋酸的含量,过高会导致令人不愉快的醋味。 数据呈钟型分布,右长尾,log10转换后volatile.acidity接近正态分布,峰值出现在0.2-0.3之间。

##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.0000  0.2700  0.3200  0.3342  0.3900  1.6600

citric.acid(柠檬酸):少量的柠檬酸可以给葡萄酒增添“新鲜”和风味 分布接近正态分布,中位数是0.32,平均值为0.33,分布在0.5附近出现变化。

综观以上三种酸:fixed.acidity,volatile.acidity以及citric.acid,其中fixed.acidity含量最大,其他两种酸大部分都是0.X的微量。而且fixed.acidity出现了右长尾分布,我会进一步分析fixed.acidity与quality的关系。

##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   0.600   1.700   5.200   6.391   9.900  65.800

residual.sugar(残糖):发酵结束后剩余的糖的量,即造成葡萄酒中甜度口感的元素。 大量的值集中在1-2之间,中位数是5.2, 平均值是6.391 residual.suga呈右长尾分布,log10转换后的residual.suga分布呈双峰分布,峰值第一次在1.5左右,第二次接近9左右。

chlorides(氯化物):葡萄酒中盐的含量,即造成葡萄酒中咸口感的元素 呈右长尾数据分布,大部分在0.0~0.1之间。 log10转换后的chlorides分布接近正态分布,峰值在0.05左右。

##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    2.00   23.00   34.00   35.31   46.00  289.00
## Warning: Removed 26 rows containing non-finite values (stat_bin).
## Warning: Removed 2 rows containing missing values (geom_bar).

free.sulfur.dioxide(游离二氧化硫):SO2的自由形态存在于SO2分子(溶解气体)与亚硫酸氢盐离子之间的平衡状态;它可以防止微生物的生长和葡萄酒的氧化。该变量是造成葡萄酒特殊香味的元素。 分布呈正态分布,分布比较均匀,大量数值集中在20-40之间,在290附近出现一个异常值。修整最大值,设置更小的binsidth后,发现峰值出现在30左右。

## 
##     9    10    18    19    21    24    25    26    28    29    30    31 
##     1     1     2     1     1     3     1     1     4     2     2     1 
##    33    34    37    40    41    44    45    46    47    48    49    50 
##     1     2     3     3     4     1     2     2     3     1     4     3 
##    51    53    54    55    56    57    58    59    60    61    62    63 
##     3     2     2     7     5     7     2     5     6     9     2    10 
##    64    65    66    67    68    69    70    71    72    73    74    75 
##     6     8     7    12    14    10     8    12    17    20    12    14 
##    76    77    78    79    80    81    82    83    84    85    86    87 
##    26    14    17    15    23    21    17    17    27    20    25    39 
##    88    89    90    91    92    93    94    95    96    97    98    99 
##    15    23    30    22    30    42    28    34    28    41    49    34 
##   100   101   102   103   104   105   106   107   108   109   110   111 
##    37    47    37    34    44    41    32    45    32    37    47    69 
##   112   113   114   115 115.5   116   117   118   119   120   121   122 
##    31    61    54    45     1    47    57    55    47    42    37    54 
##   123   124   125   126   127   128   129 129.5   130   131   132   133 
##    33    53    49    50    38    54    32     2    46    47    47    50 
##   134   135   136   137   138   139   140   141   142   143   144   145 
##    47    41    38    27    45    28    52    29    46    44    35    30 
##   146   147   148   149   150   151   152   153   154   155   156   157 
##    31    31    44    48    54    39    43    32    27    39    47    31 
##   158   159   160   161   162 162.5   163   164 164.5   165   166   167 
##    38    34    32    37    34     2    36    27     1    19    39    32 
##   168   169   170   171   172   173   174   175   176 176.5   177   178 
##    43    29    32    27    28    32    28    16    24     1    27    41 
##   179   180   181   182   183   184   185   186   187   188   189 189.5 
##    26    34    21    30    35    30    18    25    19    23    30     3 
##   190   191   192   193   194   195   196   197   198   199   200   201 
##    17    28    18    15    21    17    16    28    18    10    18    16 
##   202   203   204   205   206   207   208   209   210   211   212 212.5 
##    13     7    13    12    14    10    10    11    23     8    15     6 
##   213   214   215   216 216.5   217 217.5   218 218.5   219 219.5   220 
##    14    10    10     8     1     4     1     4     3     6     1     7 
##   221   222   223   224   225   226   227   228   229   230   231   232 
##    13     7     9     9     4     3     8     8     9     6     5     1 
##   233   234 234.5   235   236   237   238 238.5   240   241   242   243 
##     2     7     1     2     3     3     5     1     7     2     2     6 
##   244   245   246   247   248   249 249.5   251   252   253   255   256 
##     2     5     1     3     3     2     1     4     2     3     1     2 
##   259   260   272   282   294   303 307.5   313   344 366.5   440 
##     1     1     2     1     1     1     1     1     1     1     1

total.sulfur.dioxide(二氧化硫总量):游离和结合态S02的量;在低浓度下,SO2在葡萄酒中几乎检测不到,但当游离SO2浓度超过50ppm时,SO2在葡萄酒的鼻子和味道中变得明显。 分布呈正态分布,分布比较较为均匀。数值大部分为整数。

##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.9871  0.9917  0.9937  0.9940  0.9961  1.0390
## Warning: Removed 3 rows containing non-finite values (stat_bin).
## Warning: Removed 2 rows containing missing values (geom_bar).

density(密度):这取决于酒精和糖的含量。 分布很接近正态分布,中位数为0.9937,平均值为0.9940。修整最大值后,发现数值大量集中在0.99-1之间。

##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   2.720   3.090   3.180   3.188   3.280   3.820

pH:描述葡萄酒的酸度或碱性,范围从0(非常酸性)到14(非常碱性);大多数葡萄酒的pH值在3-4之间。 分布呈正态分布,中位数是3.18,平均值是3.18,峰值在3.25左右。

sulphates(硫酸盐):一种葡萄酒添加剂,可提高二氧化硫(S02)水平,具有抗菌和抗氧化作用。 分布接近正态分布,右长尾分布,大量数值集中于0.3-0.5。

##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    8.00    9.50   10.40   10.51   11.40   14.20

alcohol(酒精):葡萄酒中酒精含量的百分比。分布接近右偏态,中位数是10.4,平均值是10.51,有两个高峰,一个大的在9.5左右,一个小的在12.5左右。

单变量分析

你的数据集结构是什么?

本数据集有4898行观测值,共12个属性变量,其中连续变量有fixed.acidity,volatile.acidity, citric.acid, residual.sugar,chlorides,sulphates,free.sulfur.dioxide,total.sulfur.dioxide,alcohol,density,分类变量有quality。

你的数据集内感兴趣的主要特性有哪些?

由于此次探索的主要问题是关于影响⽩葡萄酒的质量的因素,所以我的数据集中,主要特征是quality变量。

你认为数据集内哪些其他特征可以帮助你探索兴趣特点?

# 变量关系图
ggcorr(pf, label = TRUE, label_size = 6 , label_round = 2, hjust = 0.85)

从以上关系图可以得到, 与quality存在较高的负相关度的变量为:density,total.sulfur.dioxide 与quality存在较高的正相关度的变量为:alcohol,pH 其他相关度较高的变量有: residual.sugar 与 density 相关度最高:0.84; free.sulfur.dioxide 和 total.sulfur.dioxide 相关度为:0.62 total.sulfur.dioxide 和 density 的相关度为:0.53 alcohol 与 density : -0.78 alcohol 与 total.sulfur.dioxide: -0.45 alcohol 与 residual.sugar: -0.45 fixed.acidity 与 pH:-0.43

根据数据集内已有变量,你是否创建了任何新变量?

在已经探究的特性中,是否存在任何异常分布?你是否对数据进行一些操作,如清洁、调整或改变数据的形式?如果是,你为什么会这样做?

其中fixed.acidity,volatile.acidity,residual.sugar,sulphates出现右长尾分布,其他变量均为接近正态分布。

双变量绘图选择

我们将quality的数据类型修订为factor类,为了更好地进行分类分析。

# 将quality的数据类型修订为factor类
pf$quality <- factor(pf$quality)

与quality正相关度最高是alcohol,我们先来探索quality与alcohol的关系

箱线图结合散点图,不仅可以看到每个质量等级的数量分布情况,线性回归线减少极端值的影响,更好的反映数据之间的趋势。还可以看到更高的质量等级quality需要更高数值的alocohol。

根据不同的质量等级来看酒精的分布,结合对低计数值的放大图,可以看出,质量等级quality为9的白葡萄酒,较多存在于较高alcohol数值水平。质量等级quality为3的白葡萄酒,较多存在于较低alcohol数值水平。

与alcohol相关度最高的是density,我们接着来探索alcohol与density的关系

## Warning: Removed 98 rows containing non-finite values (stat_smooth).

忽略density1%的数值后,可以看出alcohol与density的关系是负相关。随着density增加,alcohol相应减少。

然后我们来看看quality与density的关系

## Warning: Removed 98 rows containing non-finite values (stat_boxplot).
## Warning: Removed 98 rows containing non-finite values (stat_summary).
## Warning: Removed 98 rows containing non-finite values (stat_smooth).
## Warning: Removed 99 rows containing missing values (geom_point).

忽略density1%的数值后,可以看出quality与density的关系是负相关,越高质量等级的白葡萄酒,密度越小。

下面开始分析total.sulfur.dioxide 和 density 关系

可以看出total.sulfur.dioxide与density的关系是正相关,越高数值的total.sulfur.dioxide白葡萄酒,density越大。

接下来,我们来看看total.sulfur.dioxide 和 quanlity 关系

## Warning: Removed 98 rows containing non-finite values (stat_boxplot).
## Warning: Removed 98 rows containing non-finite values (stat_summary).
## Warning: Removed 98 rows containing non-finite values (stat_smooth).
## Warning: Removed 103 rows containing missing values (geom_point).

忽略total.sulfur.dioxide1%的数值后,可以看出quality与total.sulfur.dioxide的关系是负相关,越高质量等级的白葡萄酒,二氧化硫总量越小。这个图跟quality与density的关系图很类似。

接下来看看,相关度最高的residual.sugar 与 density关系:

对局部进行放大,发现residual.sugar 与 density关系是很强的正相关,越高residual.sugar的葡萄酒,density越大。

下面开始分析quality 与 pH的关系:

quality 与 pH的关系是正相关,线性回归较为平缓。

我们接着来看看alcohol 与 pH的关系

alcohol 与 pH的关系是正相关,线性回归较为平缓。线性回归跟quality 与 pH的关系图很类似。

双变量分析

探讨你在这部分探究中观察到的一些关系。这些感兴趣的特性与数据集内其他特性有什么区别?

此次分析对象是白葡萄酒,那么我选择了酒精属性作为切入点,我首先分析了quality和alcohol的关系,根据不同的质量等级来看酒精的分布,发现更高的质量等级quality需要更高数值的alocohol。 接着我找到与alcohol相关度最高的是density,alcohol与density的关系是负相关。随着density增加,alcohol相应减少。 然后我分析了quality与density的关系,发现quality与density的关系是负相关,越高质量等级的白葡萄酒,密度越小。 最后我分析了quality与 pH的关系,发现quality 与 pH的关系是正相关,线性回归较为平缓。

你是否观察到主要特性与其他特性之间的有趣关系?

我分析了total.sulfur.dioxide 和 quality 关系,quality与total.sulfur.dioxide的关系是负相关,越高质量等级的白葡萄酒,二氧化硫总量越小。它们的关系图跟quality与density的关系图很类似。 然后我分析了alcohol 与 pH的关系,是正相关,线性回归较为平缓。线性回归跟quality 与 pH的关系图很类似。

你发现最强的关系是什么?

最强的关系是residual.sugar 与 density关系,相关度高达0.84,

多变量绘图选择

我们首先分析alcohol、density 和 quality之间的关系

## Warning: Removed 3 rows containing missing values (geom_point).

从图上可知,alcohol数值越大,density数值越少,高等级quality的数量越多, 但由于数量大量集中于5,6,7质量等级,3,9等级的数量较少,很难看出3,9质量等级的数据分布。

我们过滤掉数量较大的5,6,7质量等级的白葡萄酒,看看3,4,8,9质量等级的数据分布,在alcohol=11之后,质量等级8,9的数量开始增多,质量等级8,9的数量开始减少。

下面我们来看看,alcohol、pH 和 quality之间的关系

从上图可以看出,pH=3.0时,quality为7,8,9的数量比pH=3.3时,quality为7,8,9的数量明显较少, alcohol=10时,quality为7,8,9的数量比alcohol=12时,quality为7,8,9的数量明显较少,

结合上图可以得出,alcohol和pH数值越大,越高等级quatily数量越多。pH对quality的影响相对比较微弱,

下面我们来看看,density、pH 和 quality之间的关系

## Warning: Removed 85 rows containing missing values (geom_point).

从图上可看出,density数值越小,quality的高等级数量越多,由于3,9等级的数量较少,很难看出3,9质量等级的数据分布。

## Warning: Removed 4 rows containing missing values (geom_point).

我们过滤掉数量较大的5,6,7质量等级的白葡萄酒,看看3,4,8,9质量等级的数据分布,发现质量等级为9的数量集中在pH > 3.25,desity < 0.992的区域。

下面我们来看看,total.sulfur.dioxide、density 和 quality之间的关系

## Warning: Removed 3 rows containing missing values (geom_point).

从上图可以得到,越小数值的total.sulfur.dioxide和越小数值的density,高质量等级的quality的数量越多。

多变量分析

探讨你在这部分探究中观察到的一些关系。通过观察感兴趣的特性,是否存在相互促进的特性?

alcohol数值越大,density数值越少,高等级quality的数量越多, alcohol和pH数值越大,越高等级quatily数量越多。 越小数值的total.sulfur.dioxide和越小数值的density,高质量等级的quality的数量越多。

这些特性之间是否存在有趣或惊人的联系呢?

从density、pH 和 quality之间的关系中可以得出,density数值越小,quality的高等级数量越多,但对比density,pH对quality的影响比较小。

选项:你是否创建过数据集的任何模型?讨论你模型的优缺点。


定稿图与总结

绘图一

描述一

alcohol和pH数值越大,越高等级quatily数量越多。 pH对quality的影响相对比较微弱,变化不明显。 质量等级quality为5,6,7的白葡萄酒数量较多,质量等级quality为3,4,8,9的白葡萄酒数量较少,特别是质量等级quality为9的数量最少。

绘图二

## Warning: Removed 3 rows containing missing values (geom_point).

描述二

从图上可知,alcohol数值越大,density数值越少,高等级quality的数量越多,

绘图三

## Warning: Removed 192 rows containing missing values (geom_point).

描述三

从上图可以得到,越小数值的total.sulfur.dioxide和越小数值的density,高质量等级的quality的数量越多。


反思

我在分析中遇到的困难: 1. 质量等级quality = 3,9 的数据量太少,特别是质量等级为9的数据量非常少,一定程度影响了高质量等级的数据分布判断。 2. 没有建立一个用于预测质量等级的线性模型。 3. 对于R语言的学习掌握不够深入,很多方法不够熟悉,还需要进一步加强。

我在取得的成功: 1. 通过双变量和多变量探索分析,我得到一个结论:alcohol和pH的关系是正相关,虽然alcohol对quality影响较为微弱,但alcohol和quality的关系是正相关,pH和quality的关系也是正相关,所以pH和alcohol能相互加强对quality的关系。 2. 在多变量分析阶段,我通过添加较强的对比颜色,能让读者更好地分辨出高质量等级和低质量等级的区别。

我对将来的期待: 1.将来工作中如果可以增加更多的数据集,特别是质量等级>=9和质量等级<=3的数据量,减少当前部分质量等级数据量不足的缺点。 2. 能够建立一个用于预测质量等级的线性模型